package com.lin;

import org.junit.Test;

// 测试类
public class FruitStoreTest {


    @Test
    public void test1(){
        //顾客 A 在超市购买了若干斤苹果和草莓，需要计算一共多少钱？
        //有一家超市，出售苹果和草莓。其中苹果 8 元/斤，草莓 13 元/斤。
        Customer customerA = new Customer();
        Order order = new Order();
        order.addItem(new OrderItem(new Apple(),10));
        order.addItem(new OrderItem(new Strawberry(),10));
        double price = 0.0;
        price = customerA.calculatePrice(new NoPromotion(), order);
        System.out.println("顾客A买了10斤苹果和10斤草莓花费了"+price+"元");
    }

    @Test
    public void test2(){
        //超市增加了一种水果芒果，其定价为 20 元/斤。
        //现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
        Customer customerB = new Customer();
        Order order = new Order();
        order.addItem(new OrderItem(new Apple(),10));
        order.addItem(new OrderItem(new Strawberry(),10));
        order.addItem(new OrderItem(new Mango(),10));
        double price = 0.0;
        price = customerB.calculatePrice(new NoPromotion(), order);
        System.out.println("顾客B买了10斤苹果和10斤草莓和10斤芒果花费了"+price+"元");
    }

    @Test
    public void test3(){
        //3、超市做促销活动，草莓限时打 8 折。
        //现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
        //请编写函数，对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
        Customer customerC = new Customer();
        Order order = new Order();
        order.addItem(new OrderItem(new Apple(),10));
        order.addItem(new OrderItem(new Strawberry(),10));
        order.addItem(new OrderItem(new Mango(),10));
        double price = customerC.calculatePrice(new StrawberryDiscount(), order);
        System.out.println("顾客C买了10斤苹果和10斤草莓和10斤芒果花费了"+price+"元");
    }

    @Test
    public void test4(){
        //4、促销活动效果明显，超市继续加大促销力度，购物满 100 减 10 块。
        //现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
        //请编写函数，对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
        Customer customerC = new Customer();
        Order order = new Order();
        order.addItem(new OrderItem(new Apple(),10));
        order.addItem(new OrderItem(new Strawberry(),10));
        order.addItem(new OrderItem(new Mango(),10));
        double price = customerC.calculatePrice(new StrawberryDiscount(), order);
        price = customerC.calculatePrice(new FullReducePromotion(100,10), order);
        System.out.println("顾客D买了10斤苹果和10斤草莓和10斤芒果花费了"+price+"元");
    }
}
